<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*创建一个构造函数，专门用来创建Person的 构造函数就是一个普通的函数，创建方式和普通函数没什么区别
    *只是首字母需要大写
    *     构造函数与普通函数的不同是调用方式:
    *      普通函数是直接调用，而构造函数需要new关键字调用
    *  构造函数的执行流程
    *   1.立即创建一个对象
    *   2.将新的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象
    *   3.逐行执行函数的代码
    *   4.将新建的对象作为返回值返回
    *   使用同一个构造函数创建的对象,我们称为一类，也将构造函数称为一类，
    *   我们将通过一个构造函数创建的对象，称为是该类的实例
    * instanceof实例 使用这个可以判断出一个对象是否是一个类的实例，
    *       如果是 返回true，如果不是 返回false
    *
    * */
    function Person(name,age,gender) {
    // alert(this); //是指pre
        this.name=name;
        this.age=age;
        this.gender=gender;
        this.sayName=function () {
        alert(this.name);
        };
    }

    var per=new Person("孙悟空",25,"男");  //per是Person类的实例
    var per1=new Person("猪八戒",25,"男");
    var per2=new Person("沙僧",25,"男");
    console.log(per);
    console.log(per1);
    console.log(per2);
    function Dog() {
        console.log("hello");
    }
    var dog=new Dog();//dog是Dog类的实例
    console.log(dog);
    // instanceof实例 使用这个可以判断出一个对象是否是一个类的实例，
    //如果是 返回true，如果不是 返回false
    console.log(dog instanceof Person);// 返回值false
    console.log(dog instanceof Dog);//返回值 true
</script>
</body>
</html>